Path computation elements (PCE) have been defined in standards that specify requirements of control planes in communication networks. The path computation elements perform a task of computing end-to-end paths, either within a network domain or across multiple network domains. The path computation function can be separated from other control plane functions and can be separated from a network element that is a source of a communication.
For example, a path computation element may be associated with each network domain. In a first mode of operation, wherein a forward path computation is utilized, a source node in a first domain sends a path computation request on a first path to a first path computation element (PCE) associated with a second domain. The first PCE computes a shortest path across the second domain. The first PCE also forwards the path computation request on a path to a second PCE associated with a third domain that has the destination node of the path request. The second PCE computes a shortest path across the third domain to a destination node in the third domain.
In a second mode of operation, wherein a backward path computation is utilized, the source node or path computation client (PCC) sends a path computation request to a PCE in the second domain which sees the destination lies in the third domain. This PCE then acts as a PCC and forwards the path computation request to a PCE in the third domain. Seeing the destination of the path computation request lies within its domain, the PCE in the third domain calculates a virtual shortest path tree (VSPT) and provides a response to the PCC/PCE in the second domain. The PCC/PCE in the second domain processes this response and similarly extends the virtual shortest path tree computation to include resources within its domain. This result is then returned to the source node or PCC in the originating domain. Using the calculated VSPT provided by the PCE in domain 2 and 3, the originating node is capable of computing an optimized path to the destination.
Thus, when a path is to be computed between a source in a first domain, across an intermediate second domain, to a destination in a third domain, each path computation element may compute an optimized path or paths across its own corresponding domain. The complete path is calculated based on the cooperative calculation between PCE in each domain to achieve an optimized path. Path optimization performed by the PCE includes constraint based routing which may include cost, latency, and diversity as criteria. As used herein, the shortest path may refer to a least cost path.
There are two methods commonly used for discovering and selecting path computation elements to use for determining a route through a domain. One method is by static configuration and another method is PCE discovery by advertisement of PCE locations and characteristics. Static configuration requires that additional management and administration functions be performed to configure each potential source node or PCC (network element, (NE)) with the identity and address of PCE in an adjacent domain. This method does not allow the source node to respond to changes in the PCE and further limits the ability to load-balance traffic across multiple PCEs. The method of PCE discovery requires development of software for each potential source node or PCC, thereby incurring complexity, testing and interoperability issues. Further, the discovery protocol adds to the control plane overhead traffic due to the need to advertise the PCEs. In general, PCE discovery still requires the source node or PCC to select which PCE in an adjacent domain to utilize.
What is needed, therefore, is a communication method and system using PCEs that does not require static configuration or the complexity of PCE discovery based on advertisement.